package com.nmsl.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.nmsl.common.annotation.Excel;
import com.nmsl.common.core.domain.BaseEntity;

/**
 * 诊所信息管理对象 clinics
 *
 * @author jin
 * @date 2025-02-14
 */
public class Clinics extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 诊所编号
     */
    private Long clinicId;

    /**
     * 诊所名称
     */
    @Excel(name = "诊所名称")
    private String clinicName;

    /**
     * 诊所所有人姓名
     */
    @Excel(name = "诊所所有人姓名")
    private String ownerName;

    /**
     * 诊所所有人电话
     */
    @Excel(name = "诊所所有人电话")
    private String ownerPhone;

    /**
     * 诊所所有人邮箱
     */
    @Excel(name = "诊所所有人邮箱")
    private String ownerEmail;

    /**
     * 地址
     */
    @Excel(name = "地址")
    private String address;

    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String detailedAddress;

    /**
     * 诊所介绍
     */
    @Excel(name = "诊所介绍")
    private String introduction;

    /**
     * 诊所状态
     */
    @Excel(name = "诊所状态")
    private Integer status;

    /**
     * 到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expiryTime;

    /**
     * 总用户数
     */
    @Excel(name = "总用户数")
    private Long totalUsers;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 最后更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdated;
    /**
     * 诊所logo
     */

    private String logo;


    // 设置诊所ID
    public void setClinicId(Long clinicId) {
        // 将传入的诊所ID赋值给成员变量
        this.clinicId = clinicId;
    }

    // 获取诊所ID
    public Long getClinicId() {
        return clinicId;
    }

    // 设置诊所名称
    public void setClinicName(String clinicName) {
        // 将传入的诊所名称赋值给成员变量
        this.clinicName = clinicName;
    }

    public String getClinicName() {
        return clinicName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerPhone(String ownerPhone) {
        this.ownerPhone = ownerPhone;
    }

    public String getOwnerPhone() {
        return ownerPhone;
    }

    public void setOwnerEmail(String ownerEmail) {
        this.ownerEmail = ownerEmail;
    }

    public String getOwnerEmail() {
        return ownerEmail;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress;
    }

    public String getDetailedAddress() {
        return detailedAddress;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getIntroduction() {
        return introduction;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setExpiryTime(Date expiryTime) {
        this.expiryTime = expiryTime;
    }

    public Date getExpiryTime() {
        return expiryTime;
    }

    public void setTotalUsers(Long totalUsers) {
        this.totalUsers = totalUsers;
    }

    public Long getTotalUsers() {
        return totalUsers;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setLastUpdated(Date lastUpdated) {
        this.lastUpdated = lastUpdated;
    }

    public Date getLastUpdated() {
        return lastUpdated;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("clinicId", getClinicId())
                .append("clinicName", getClinicName())
                .append("ownerName", getOwnerName())
                .append("ownerPhone", getOwnerPhone())
                .append("ownerEmail", getOwnerEmail())
                .append("address", getAddress())
                .append("detailedAddress", getDetailedAddress())
                .append("introduction", getIntroduction())
                .append("status", getStatus())
                .append("expiryTime", getExpiryTime())
                .append("totalUsers", getTotalUsers())
                .append("creationTime", getCreationTime())
                .append("lastUpdated", getLastUpdated())
                .append("logo", getLogo())
                .toString();
    }
}
